As an increasing number of applications and services are being made available over networks such as the Internet, an increasing number of content, application, and/or service providers are turning to technologies such as cloud computing. Cloud computing, in general, is an approach to providing access to electronic resources through services, such as Web services, where the hardware and/or software used to support those services is dynamically scalable to meet the needs of the services at any given time. A user or customer typically will rent, lease, or otherwise pay for access to resources (e.g., virtual machines, block data storage, etc.) through the cloud, and thus does not have to purchase and maintain the hardware and/or software needed.
Security is an important concern in cloud computing due to the nature of the multitenant environment where multiple users share the resources. It is generally important for the cloud operator or service provider to manage the usernames, passwords, cryptographic keys, public key infrastructure (PKI) certificates and the like. This can be a cumbersome task because of the large numbers of users and credentials involved. In certain situations, credentials may be leaked, stolen or otherwise compromised. It is desirable to provide an efficient way to manage such large numbers of credentials, including rotating them at certain times.